package com.gxa.ssm251.mapper;

import com.gxa.ssm251.pojo.Coupon;
import com.gxa.ssm251.pojo.RedeemCode;

import java.util.List;

/**
 * @author 舒空
 */
public interface RedeemCodeMapper {
    /**
     * 添加兑换码
     * @param redeemCode
     * @return
     */
    Integer insert(RedeemCode redeemCode);


    /**
     * 添加兑换码使用范围
     * @param id
     * @param cpsId
     * @return
     */
    Integer insertScope(Integer id,Integer cpsId);

    /**
     * 删除关系表为id的记录
     * @param id 关联表的兑换码编号
     * @return 数据库影响条数
     */
    Integer deleteScope(Integer id);

    /**
     * 通过名字条件查询
     * @param name
     * @return
     */
    RedeemCode selectByName(String name);
    /**
     * 分页逆序全查询
     * @param page 页数
     * @param size 每页几条数据
     * @return 数据库所有记录的集合
     */
    List<RedeemCode> selectAllByPage(Integer page, Integer size);

    /**
     * 全查询
     * @return 数据库所有记录的集合的数量
     */
    Integer selectRedeemCodeAll();

    /**
     * 通过id查询数据
     * @param id 兑换码编号
     * @return 返回id对应的数据属性的集合
     */
    List<RedeemCode> selectById(Integer id);

    /**
     * 修改兑换码
     * @param redeemCode 兑换码实体类对象
     * @return 数据库影响的行数
     */
    Integer update(RedeemCode redeemCode);

    /**
     * 删除兑换码
     * @param id  兑换码id
     * @return 数据库影响行数
     */
    Integer delete(Integer id);

    /**
     * 删除兑换码与优惠券的关联数据
     * @param rdcId  兑换码id
     * @return 数据库影响行数
     */
    Integer deleteRdc(Integer rdcId);

}
